package Map集合.应用案例;

import java.util.*;

public class Test {
    public static void main(String[] args) {
        // 需求: 某个班级80名学生, 现在需要组织秋游活动, 班长提供了四个景点依次是 (A, B, C, D), 每个学生只能选择一个景点, 请统计出最终哪个景点想去的人最多

        // 1. 把八十个学生选择的景点数据拿到程序中来.
        List<String> date = new ArrayList<>();
        String[] selects = {"A", "B", "C", "D"};
        Random re = new Random();
        for (int i = 0; i < 80; i++) {
            // 每次模拟一个学生选择一个景点, 存入到集合中去
            date.add(selects[(int)re.nextInt(4)]);
        }
        System.out.println(date);

        // 2. 开始统计每个景点的投票人数
        // 准备一个Map集合用于统计
        Map<String, Integer> map = new HashMap<>();

        // 3. 遍历80个数据
        for (String s : date) {
            // 问Map中是否存在该景点
            if (map.containsKey(s)) {
                // 说明之前统计过
                map.put(s,map.get(s) + 1);
            } else {
                // 说明第一次统计
                map.put(s,1);
            }
        }
        System.out.println(map);
    }
}
